/** \class DhcpHeader
 * DhcpHeader.h
 *
 *  Created on: Oct 9, 2008
 *      Author: lc6
 */
#include "iu_wiretap.h"
#ifndef DHCPHEADER_H_
#define DHCPHEADER_H_
using namespace std;
struct trans{
int send;
int recv;
};
class DhcpHeader
{
public:
  DhcpHeader();
  static int nDiscover;/**< Number of DHCP discorver */
  static Protocol handlePacket(const u_char * packet, int& index );
  virtual
  /**
   * get string about how many dhcp type we find
   */
  ~DhcpHeader();
  static string getInfo();
  /**
   * get a string of all client ip
   */
  static string getClient();
  /**
   * get a string of all server ip
   */
  static string getServer();
private:
  static vector<string> clientVector_;
  static vector<string> serverVector_;
  static map<string,int> sendNum_;
  static map<string,int> recvNum_;
  static int broadcast_;
  static int nOffer;
  static int nRequest;
  static int nAck;
};

#endif /* DHCPHEADER_H_ */
